The present invention relates generally to storing and retrieving image data, and more specifically to a file format that provides selective retrieval for display, printing, or communication purposes.
It is said that a picture is worth a thousand words, and history bears this out. From cave men drawing pictures on the walls of their caves to modern-day students accessing multimedia encyclopedias, people have always considered pictorial information an essential communication tool. Recent advances in computer technology have made it possible to create and exchange elaborate documents in electronic form. Text and graphics (line art) are easily formatted and manipulated, allowing an amateur computer user to create highly professional documents. The logical next step is the incorporation of photographs and other bitmap images into documents.
While the technology exists to digitize and edit photographs, a persistent problem is that bitmap images are very large. For example, an 8.times.10 inch color photograph scanned at 300 dpi (dots/inch) at 24 bits/pixel represents over 20 megabytes of data, and this is hardly an extreme example. Thus, in the context of a local computer, acquiring, viewing, manipulating, and printing such images are painfully slow processes, even with state-of-the-art computer equipment. The problem is aggravated when it is desired to transfer these images over a network.
Fortunately, the bitmap representation of most photographs includes a large amount of repetitive information making the images amenable to image compression schemes. An international compression standard called JPEG, which allows pictures to be stored in about 1/10 the space with high quality, has been developed and adopted. Greater levels of compression can be achieved, but the quality of the reconstructed image is lower. While it is possible to achieve lossless compression, the compression factor would only be on the order of 4.times.. A discussion of the JPEG compression, as well as a number of enhancements thereto, can be found in U.S. Pat. No. 5,333,212 to Ligtenberg, the entire disclosure (including appendices) of which is incorporated by reference for all purposes.
There have been developed image editing programs that incorporate virtual memory schemes specially tailored to images. In these schemes, the images are divided into tiles (rectangular image regions). The advantage of tiles is that image data can be retrieved for only those tiles that will be displayed, and operations can be performed locally.
Another problem is where an image needs to be accessed at different resolutions. For example, an image might be displayed actual size at 72 dpi but printed at 300 or 600 dpi. A solution to this problem is known as pyramid coding, such as in Kodak's PhotoCD format, where the image is stored at different resolutions. The pyramid allows the user to select an image resolution that is the most effective for a certain task. For example, to browse a number of images, one views the thumbnail images (highly reduced images that are on the order of an inch or two on a side when displayed). The basic features of the image can be discerned, and a selected image can then be retrieved at a screen resolution for viewing or at a higher print resolution suitable for printing.
Although the above solutions have been successful in addressing some of the obstacles standing in the way of using images on the computer, the solutions are not without their drawbacks. For example, JPEG compression, while it reduces the file size, does not allow selective reconstruction of a desired portion of the image. Rather, it is necessary to reconstruct all portions of the image between the top left of the image and the bottom right of the desired portion. Furthermore, while the tile-based virtual memory schemes alleviate the memory requirements, they do not reduce the file size. Additionally, an image stored in the PhotoCD format is so large that it is only used on PhotoCDs. The format is not practical as a format for on-line storage and retrieval or for storage on a local hard disk.